﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
    public partial class creauser : Form
    {
        GestiónAcademia ges = new GestiónAcademia();
        GestionFgut g = new GestionFgut();
        public creauser()
        {
            InitializeComponent();
        }

        public void llenarCBperfil(ComboBox combo)
        {
            DataSet ds = ges.buscarCBperfil();
            if (ds.Tables[0].Rows.Count > 0)
            {
                for (int i = 0; i < ds.Tables["cbperfil"].Rows.Count; i++)
                {
                    combo.Items.Add(ds.Tables["cbperfil"].Rows[i][0].ToString());
                }
            }
        }

        private void btcrear_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrWhiteSpace(txtrutusuario.Text) | string.IsNullOrWhiteSpace(txtcontraseña.Text) | string.IsNullOrWhiteSpace(txtpassrep.Text) | cbperfil.Text == "Seleccione")
            {
                MessageBox.Show("Faltan datos! ", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                string rut = txtrutusuario.Text + txtdigito.Text;
                Usuario u = new Usuario();
                u.rut_user = rut;
                u.contrasena = txtcontraseña.Text;
                u.idperfil = ges.idPerfil(cbperfil.Text);
                u.estado = "activo";

                MessageBox.Show(ges.crearUser(u), "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);

                
            }
        }

        private void creauser_Load(object sender, EventArgs e)
        {
            llenarCBperfil(cbperfil);
            cbperfil.SelectedIndex = 0;
        }

        private void txtrutusuario_TextChanged(object sender, EventArgs e)
        {
            if (txtrutusuario.Text == "")
            {
                txtdigito.Text = "";
            }
            if (txtrutusuario.TextLength == 7 || txtrutusuario.TextLength == 8)
            {
                int rut = Convert.ToInt32(txtrutusuario.Text);
                string digito = g.digitoVerificador(rut);
                txtdigito.Text = digito;
            }
        }

        private void txtpassrep_TextChanged(object sender, EventArgs e)
        {

        }

        private void txtrutusuario_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Char.IsDigit(e.KeyChar))
            {
                e.Handled = false;
            }
            else
                if (Char.IsControl(e.KeyChar)) //permitir teclas de control como retroceso 
                {
                    e.Handled = false;
                }
                else
                {
                    //el resto de teclas pulsadas se desactivan 
                    e.Handled = true;

                }
        }

        private void txtpassrep_Validating(object sender, CancelEventArgs e)
        {
            if (txtcontraseña.Text != txtpassrep.Text)
            {
                MessageBox.Show("Las contraseñas no coinciden.", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
                txtpassrep.Text = "";
            }
        }
    }
}
